﻿<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Changelog - Supernova</title>
    <link href="styles.css" rel="stylesheet" />
</head>
<body>
    <h1>Supernova Changelog</h1>
    <p><a href="help.html">Back to help page.</a></p>
    
    <h2>Version 1.7</h2>
    <span>13th January 2016</span>
    <ul>
        <li>Show chat messages in a brighter colour and keep them on the screen for longer.</li>
        <li>Added ability for the server to send different slot information (i.e. speeds, armour...etc) for multiplayer games.</li>
        <li>Game UI, such as tooltips, should now show the correct information after receiving data from the server.</li>
        <li>Added ability to set message of the day for players joining the multiplayer lobby.</li>
        <li>Very minor change to make server not hog all the CPU.</li>
        <li>Reduced amount of unnecessary information sent to the client.</li>
        <li>No longer erraneously send ship movement information back to the server in replay mode.</li>
        <li>No longer send erraneous goody removal messages for ships landing on any planet, only for those ships landing on planets with goodies.</li>
        <li>Added ability to instruct the server to generate a balanced map which can be used for competitive purposes.</li>        
        <li>Create a replay database so that lists of replays can be sent to the client much quicker.</li>
        <li>Replays are now compressed to GZ format to save disk space.</li>
        <li>Replays are now automatically deleted if they last less than a minute or if nothing happens.</li>        
        <li>Improved display of replay titles in the replay selection screen.</li>
        <li>Fixed ability to sort replays by duration descending. It now works as it should.</li>
        <li>Server can now return list of most exciting replays, in descending order.</li>
        <li>The reason for a disconnection is now sent to clients.</li>
        <li>Alert players when someone joins a game, from the lobby.</li>
        <li>Updated values for ship speed, attack radius and scanning radius so that they aren't so overpowered.</li>
        <li>Updated values for armour.</li>
        <li>Added third bombard slot for multiplayer and adjusted bombard power and delay values for balance purposes.</li>
        <li>Substantial improvements to the custom web socket library that manifest in far fewer dropped connections and crashes on the server.</li>
        <li>Players can now select all ships with the exact same configuration by holding down the control key.</li>
        <li>Fixed some shortcut keys that broke - like C for one. Other keys (like using the shift key to ships add to an existing group) work once again.</li>
        <li>Improved information shown on the screen (i.e. when a planet or star is selected) or in various tooltips (i.e. research or build buttons). Player should now have a better idea on whether to research or build something.</li>
        <li>Can now only construct up to 25 ships at a time.</li>
        <li>There are now three different shape types for ships, illustrating attack potential and invade potential.</li>
        <li>Added shortcut key for explore - N (i.e. Navigation).</li>
        <li>Ability to queue colonise, terraform, invade, repair, explore and disband actions by holding down the control key.</li>
        <li>Players are no longer thrown into the lobby when all remaining players disconnect.</li>
        <li>Make the lobby take up less space so people with smaller screens can chat more effectively.</li>
        <li>Ships can now be given custom names once again.</li>
        <li>Can now create and use multiple named ship presets. Can also delete presets.</li>
        <li>Removed "Pioneers" research opportunity.</li>
        <li>Reworked ship costs, so that mining ships and colony ships cost a lot more while some other categories will tend to cost a bit less.</li>
        <li>Servers can now register with a central list.</li>
        <li>Packaged up server so that others can run servers.</li>
        <li>Players can now choose which server to connect to.</li>
        <li>Now use symbols instead of words for things like population, gold, science.</li>
    </ul>

    <h2>Version 1.6</h2>
    <span>4th January 2016</span>
    <ul>
        <li>Changed sound effects to MP3 format so that they now also work in Internet Explorer.</li>
        <li>Fixed bug where most ships will refuse to fire at each other in replay mode because they essentially believed they belonged to the same player.</li>
        <li>Player's ships are now destroyed automatically on disconnection in multiplayer mode (and replay mode).</li>
        <li>Player's star systems are now properly unassigned in replay mode when player disconnects.</li>
        <li>Removed duplicate "player disconnected" message when player disconnects.</li>
        <li>Added menu shortcut keys - M for multiplayer, J for join and R for ready (latter two for debug mode only).</li>
        <li>Allow sending of chat messages when pressing the enter key rather than pressing a button.</li>
        <li>Added placeholder text to chat text boxes.</li>
        <li>Proper handling of keys in IE and Firefox, can now have lower case keys in text boxes and we treat all special characters properly.</li>
        <li>Dramatic graphics-related performance improvements. No longer draw whatever isn't in the visual area.</li>
        <li>Receive all slot data from server in multiplayer mode, meaning that the server is now responsible for ship speeds...etc.</li>
        <li>Automated exploration is now vastly better. A system is not targeted if another ship is targeting it.</li>
        <li>Research panels stay open until user wants to close them, or until there are no research points to spend.</li>
        <li>Added shortcut keys to the "Create Ship" panel. Delete resets stats. S saves preset. L loads preset. 0-9 create the specified number of ships (0 = 10).</li>
        <li>It is now possible to become the host of an online game if the secret key is known and kick players from the lobby.</li>
        <li>Ability to disable ability to select replays on server.</li>
        <li>Immedietly disconnect players who attempt to join a game or replay in progress, rather than waiting for them to click a confirm button client side. This stops them getting errant socket messages.</li>
        <li>Only send multiplayer configuration information to players that have joined. This fix prevents unjoined players from encountering unhandled Javascript exceptions.</li>
        <li>If, after some time, a user does not select or rate a replay, then the server closes the connection and resets to the lobby state.</li>
        <li>Substantially reduced increase in speed per speed slot unlocked via research in multiplayer mode.</li>
        <li>Added automated upgrade functionality so that all previous replays continue to function with old slot data.</li>
        <li>Ignore replays that are broken when listing them, rather than crashing the server.</li>
        <li>Improved general handling of disconnections in custom websocket code.</li>
    </ul>

    <h2>Version 1.5</h2>
    <span>1st January 2016</span>
    <ul>
        <li>Server now indicates how many people are playing a game when someone tries to join a game in progress.</li>
        <li>Multiplayer games are now recorded.</li>
        <li>It is possible to see the replay of a game previously played on the server.</li>
        <li>Ability to rate replays and sort them by date and duration and rating.</li>
        <li>Players are now disconnected if they haven't joined a game when it starts.</li>
        <li>Server no longer crashes whenever a new player attempts to joins the game in progress.</li>
        <li>Gold on a planet now decreases whenever someone else is mining the planet.</li>
        <li>No longer show "(Mine)" on planets with mining base installed because we're already showing "M".</li>
        <li>Artillery launched by enemy players in multiplayer should now make a sound.</li>
        <li>Added link to Reddit community from the main menu.</li>
        <li>Can now send messages in the multiplayer lobby.</li>
        <li>Can now send messages to all players while a multiplayer game is in progress.</li>
    </ul>

    <h2>Version 1.4</h2>
    <span>31st December 2015</span>
    <ul>
        <li>Pause button on keyboard now pauses game, and can also be used to resume the game.</li>
        <li>Added shortcut key to select closest shipyard (Y).</li>
        <li>Middle click now centers map around selected point, rather than left click on empty space.</li>
        <li>Improved handling of keys in the text box, such as cursor keys, home, end, delete, numpad keys...etc.</li>
        <li>Added ability to move the map around using the cursor keys.</li>
        <li>Sound plays when research option becomes available.</li>
        <li>Draw all facilities on planets using SCRAM notation (i.e. S for shipyard, C for comms etc).</li>
        <li>Increased initial enemy spawn in Supernovice to two minutes, from 20 seconds.</li>
        <li>Disabled backspace key for the purpose of navigating to the previous page.</li>
        <li>Added the ability to click and select a single ship in the list of currently selected ships.</li>
        <li>Added keys to slow down and speed up the game, [ and ] respectively.</li>
        <li>Wreck upgrades are often too numerous in the hard duel mode so I've reduced the number of upgrades per wreck.</li>
        <li>Body cursor style set to default in order to prevent the cursor becoming a caret when selecting ships in other browsers.</li>
        <li>Added some basic documentation, including a YouTube video and a quick start guide.</li>
    </ul>

    <h2>Version 1.3</h2>
    <span>28th December 2015</span>
    <ul>
        <li>Reworked the layout of the Source-based Supernova repositories, so may as well advance version numbers everywhere to make a clean break.</li>
        <li>First release to <a href="https://www.reddit.com/r/WebGames/comments/3yk6xm/supernova_4x_strategy_game_that_allows_you_to/">Reddit</a>, indeed the first official release.</li>
    </ul>

    <h2>Version 1.2</h2>
    <ul>
        <li>Better handling of protocol version being sent when connecting to the server, fixing the "server uses protocol version undefined" message issue.</li>
        <li>Added option to log incoming packets rather than it always being turned on.</li>
        <li>Confirm when user wishes to close the tab, navigate backwards or load a different website.</li>
        <li>Complete rewrite of the AI ship spawning system in single player.</li>
        <li>Fixed sound issue that would cause the game to essentially crash at random.</li>
        <li>Single player balance changes.</li>
        <li>Newly created ships are not visible for a fraction of a second any more.</li>
        <li>AI can now build artillery.</li>
        <li>Harmonisation of single player and multiplayer galaxy generation.
        <li>Galaxy diameter now dependent on number of star systems in single player mode, much like it is in multiplayer mode.</li>
        <li>New single player mode - duel.</li>
        <li>Gold quantity now shown on body rather than "lots" etc.</li>
        <li>Duel mode is now quadratic difficulty.</li>
    </ul>

    <h2>Version 1.1</h2>
    <ul>
        <li>Can only reboot the server while online.</li>
        <li>Fixed performance testing issue with galaxy spawning radius.</li>
        <li>Added shortcut keys help.</li>
        <li>Version information now embedded into the code rather than being configurable.</li>
        <li>Added additional shortcut keys for constructing buildings.</li>
        <li>Can no longer build mining base if there is no gold.</li>
        <li>Planetary gold earned at 1/5 normal rate without comms.</li>
        <li>Clarified description of conditions under which ship is destroyed on bombard, in armor research button.</li>
        <li>Load configuration file from the same location as the server.</li>
        <li>Implementation of trait subsystem, allowing multiplayer players to select sets of effects before starting a game.</li>
        <li>Determine home system/planet in multiplayer mode and ensure it is selected when the game starts.</li>
        <li>Refactoring of code, ie management of messages/toasts, game creation code, moved sound playing code to its own class.</li>
        <li>Possibly fixed bugs as a result of refactoring: messages less flickery, UI always shown when multiplayer games start.</li>
        <li>Artillery no longer fires if the planet has been depopulated.</li>
        <li>Artillery range no longer drawn if there is no population on the planet.</li>
        <li>Player names can now have spaces in them.</li>
        <li>Maximum colony ship population is now 3 not 5.</li>
        <li>Wrecks that are far away contain additional upgrades (2 or 3).</li>
        <li>Improved body population sync by sending body's current population when bombarding is starting.</li>
        <li>Adjusted wrecks per player (multiplayer) so that there are additional wrecks far away from home system.</li>
        <li>Balanced multiplayer shield stats so that they're as good as armor for the most part.</li>
        <li>Made it so that shields are ineffective when bombarding.</li>
        <li>Fixed bug where enemy ships were sometimes not being attacked at all. Bug was introduced by an optimisation.</li>
        <li>Naive improvement of sound system so that multiple sounds can play at same time. I don't like the technical approach one bit but it's all we can do.</li>
        <li>Minor changes to how ships are named automatically when creating them.</li>
        <li>Don't allow selection of a ship that is not visible.</li>
        <li>Don't allow selection of a body that hasn't been discovered.</li>
        <li>Don't draw enemy ship paths in multiplayer.</li>
        <li>Ships completing exploration now return to the home star system.</li>
        <li>Also prevented infinite ship orders being generated after exploration completed.</li>
        <li>Allow box selection of multiple enemy ships.</li>
        <li>Fixed loading of a ship preset after starting a new game (ie: number of unlocked slots reduced, cost calculated correctly).</li>
        <li>Fixed enemy ships being included in squads when ships inside a squad were destroyed.</li>
        <li>Fixed issue where multiple radio button values were selected when starting new single player game after completing previous game.</li>
        <li>Fixed preset issue where picking up wreck changed the stats of all ships using the same preset (but only the text).</li>
        <li>Can no longer put enemy ships into formation.</li>
        <li>Fixed broken shortcut keys and updated shortcut keys guide.</li>
    </ul>
</body>
</html>
